<?php

class InventariosController extends AppController {

    public $layout = 'default';
    public $name = 'Inventarios';
    public $uses = array('Producto', 'Tipo', 'Inventario','Almacene','Venta');
    public $helpers = array('Html', 'Form');
    public $components = array('Session');

    public function index() {
        $inventarios = $this->Inventario->find('all');
        $this->set(compact('inventarios'));
    }

    public function registro(){
	   $productos=$this->Producto->find('list', array('fields'=>array('Producto.id','Producto.nombre')));
	   $almacenes=$this->Almacene->find('list', array('fields'=>array('Almacene.id','Almacene.nombre')));
	   $this->set(compact('productos','almacenes'));
	   if(!empty($this->data)):
	   
	   $producto_id= $this->data['Inventario']['producto_id'];
	   $cantidad=$this->data['Inventario']['cantidad'];
	   $almacen_id=$this->data['Inventario']['almacen_id'];
	   $producto=$this->Producto->find('first', array('conditions'=>array('Producto.id'=>$producto_id)));
	   $this->data='';
	   for($i=1;$i<=$cantidad;$i++):
	   $this->request->data[$i]['Inventario']['producto_id']= $producto_id;
	   $this->request->data[$i]['Inventario']['padre']= '0';
	   $this->request->data[$i]['Inventario']['ancho']=  $producto['Producto']['ancho'];
   	   $this->request->data[$i]['Inventario']['alto']=   $producto['Producto']['alto'];
  	   $this->request->data[$i]['Inventario']['litros']= $producto['Producto']['litros'];
  	   $this->request->data[$i]['Inventario']['almacen_id']= $almacen_id;
  	   $this->request->data[$i]['Inventario']['fecha_entrada']= date('Y-m-d');
	   endfor;
	   if($this->Inventario->saveAll($this->data)){
		     $this->Session->setFlash('EL REGISTRO DEL INVENTARIO SE COMPLETO SATISFACTORIAMENTE');
             $this->redirect(array('action' => 'index'));
	   }
	   endif;
    }
    function editar($id=null){
    	
    	if(!$id){
		     $this->Session->setFlash('ERROR AL ENVIAR, POR FAOVR INTENTE DE NUEVO');
             $this->redirect(array('action' => 'index'));
    	}
    	else{
    	$this->Inventario->id=$id;
    	$this->data=$this->Inventario->read();
    	}

    	
    }
    function ventas($id=null){
    
	    $inventario=$this->Inventario->find('first',array('conditions'=>array('Inventario.id'=>$id)));

    	if(!empty($this->data)):
    	$inventario_id=$this->data['Venta']['id'];
    	$comprador=$this->data['Venta']['comprador'];
    	$precio=$this->data['Venta']['precio'];
    	$inventario_producto=$this->Inventario->find('first',array('conditions'=>array('Inventario.id'=>$inventario_id)));
    	$this->data='';
    	$this->request->data['Venta']['producto_id']=$inventario_producto['Producto']['id'];
    	$this->request->data['Venta']['alto']=$inventario_producto['Inventario']['alto'];
    	$this->request->data['Venta']['ancho']=$inventario_producto['Inventario']['ancho'];
    	$this->request->data['Venta']['litros']=$inventario_producto['Inventario']['litros'];
    	$this->request->data['Venta']['almacen_id']=$inventario_producto['Almacene']['id'];
    	$this->request->data['Venta']['comprador']=$comprador;
    	$this->request->data['Venta']['precio']=$precio;    	
    	$this->request->data['Venta']['fecha']=date('Y-m-d');    	    	
    		if($this->Venta->save($this->data)){
    			$this->Inventario->delete($inventario_id);
		    	$this->Session->setFlash('La venta fue registrada');
		    	$this->redirect(array('action' => 'index'));	
    		}
    	endif;
    $this->set(compact('inventario'));    
    }
    function dividir($id=null){

	    $inventario_id=$id;
	    $producto=$this->Inventario->find('first',array('conditions'=>array('Inventario.id'=>$inventario_id)));
	    if(!empty($this->data)){
				$ancho_dividir=$this->data['Inventario']['ancho'];
				$alto_dividir=$this->data['Inventario']['alto'];
				$producto_id=$this->data['Inventario']['producto_id'];
				$almacen_id=$this->data['Inventario']['almacen_id'];
				$this->data='';
				$this->request->data['Inventario']['producto_id']=$producto_id;
				$this->request->data['Inventario']['padre']=$inventario_id;
				$this->request->data['Inventario']['ancho']=$ancho_dividir;
				$this->request->data['Inventario']['alto']=$alto_dividir;
				$this->request->data['Inventario']['almacen_id']=$almacen_id;
				$this->request->data['Inventario']['fecha_entrada']=date('Y-m-d');
				if($this->Inventario->save($this->data)){
					$this->data='';
					$this->Inventario->id=$id;
					$this->data=$this->Inventario->findById($id);
					$this->request->data['Inventario']['ancho'] = $this->data['Inventario']['ancho'] - $ancho_dividir;
					$this->request->data['Inventario']['alto'] = $this->data['Inventario']['alto'] - $alto_dividir;
					if ($this->Inventario->save($this->data)){
                        $this->Session->setFlash('Se ha dividido el producto del inventario con exito');
                        $this->redirect(array('action' => 'index'), null, true);
                    } else {
                        $this->Session->setFlash('no se pudo dividir!!');
                    }
				}
	    }
	    $this->set(compact('producto'));
    }
}
?>